tg-me.com/pyHints/767
Last Update:
به این موارد
چندتا مورد امنیتی هم اضافه کنید.
دانستن بعضی چیزها وقتی خودتون رو web developer معرفی میکنید اجباری هست؛ اونقدر واضح و اجباری که هیچکس از شما راجبش شاید سوال هم نکنه؛ ولی توی کار وقتی ببینند رعایت نمیکنید و خرابکاری جدی به بار میارید، از کار کنار گذاشته میشید.
چندتا مورد خیلی سادهاش :
۱- قبل از هر release باید پکیجهای اصلی رو بررسی کنید، حتماً باید چک کنید که مشکل امنیتی نداشته باشه، خیلیها توی دنیای python از مکانیزمهای version lock, pip freeze, ... استفاده میکنند.
این کار درست نیست (قبلاً هم صحبت کردم راجبش بجای =
از ~=
استفاده کنید) شما حداقل باید patch هارو بصورت خودکار بگیرید.
اگر ورژن کتابخانهها رو روی یک ورژن خاص میگذارید؛ حداقل باید ابزاری برای بررسی باگهای مهم و ورژن کتابخانهها داشته باشید؛ که حتماً توی پایپ لاین این موضوع رو بررسی کنه.
۲- حداقل هر چند وقت یکبار یک نگاهی به داکیومنت اون کتابخانه بندازید، ببینید هنوز maintain
میشه یا deprecate
شده ؟
۳- صرف اینکه؛ JWT
و SHA-256
استفاده میکنید اپلیکیشن شما امن نیست.
من خیلی دیدم، که توی jwt
متأسفانه بعضیها اطلاعات کاربر رو میگذارند که خب خیلی اشتباه هست.
یا مثلاً فارغ از اینکه پروژه برای چه کاری هست و چقدر باید امن باشه یا ... همیشه برای password hash
از الگوریتم خاصی استفاده میکنند مثلا sha2-256
۴- حداقل آشنایی با SQL-Injection, XSS, ...
رو باید داشته باشید
و موارد دیگر، البته که خیلی از این موارد رو Django برای شما انجام داده و مطمئن میشه وجود نداشته باشه و خیلی های دیگه هم باید توسط برنامه نویس رعایت بشه.
بعضیها حتی باید توی Test نویسی چک بشه وگرنه پروژه که بزرگ بشه احتمالش زیاد هست باعث نفوذ به سیستم و ... بشه.
یادم باشه بعداً یک checklist
مخصوص DRF
برای این موضوع آپلود کنم؛ تمام موارد رو حداقل در حد آشنایی بدونید و مطمئن بشید پروژه امن هست.
مشکل امنیتی بسیار زیاد توی پروژههای دوستان میبینم و بهتون اطمینان خاطر میدم که به هیچوجه من ادعایی روی سواد امنیتی و ... ندارم و این موارد بایدهای Software Engineering
هست.
BY Python Hints
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/pyHints/767